package com.kingyun.gpsinspection.purificationservice.dao.mapper.jsm;


import com.kingyun.gpsinspection.purificationservice.facade.model.jsm.WorkCellInstance;
import com.kingyun.gpsinspection.purificationservice.facade.model.jsm.WorkCellInstanceVo;

import java.util.List;
import java.util.Map;

/**
 * 工作内容信息
 */
public interface JsmWorkCellInstanceMapper {
    /**
     * 删除工作内容信息
     *
     * @param workInstanceId
     * @return
     */
    int deleteByPrimaryKey(String workInstanceId);

    /**
     * 新增工作内容信息
     *
     * @param record
     * @return
     */
    int insert(WorkCellInstance record);

    /**
     * 新增工作内容信息
     *
     * @param record
     * @return
     */
    int insertSelective(WorkCellInstance record);

    /**
     * 查询工作内容信息
     *
     * @param workInstanceId
     * @return
     */
    WorkCellInstanceVo selectByPrimaryKey(String workInstanceId);

    /**
     * 修改工作内容信息
     *
     * @param record
     * @return
     */
    int updateByPrimaryKeySelective(WorkCellInstance record);

    /**
     * 修改工作内容信息
     *
     * @param record
     * @return
     */
    int updateByPrimaryKey(WorkCellInstance record);

    /**
     * 分页查询工作内容 根据一站一案查询列表数据
     *
     * @param workCellInstance
     */
    List<WorkCellInstanceVo> queryList(WorkCellInstanceVo workCellInstance);

    /**
     * 分页查询工作内容返回条数
     *
     * @param workCellInstance 根据一站一案查询列表数据宗条数
     */
    Integer queryCount(WorkCellInstanceVo workCellInstance);

    /**
     * 修改工作内容信息
     *
     * @param workInstanceId
     * @return
     */
    int updateWorkCellInstanceById(Map workInstanceId);

    /**
     * 查询工作内容信息，为外部提供接口
     *
     * @param record
     * @return
     */
    List<WorkCellInstance> outFindWorkCellInstanceList(WorkCellInstance record);

    /**
     * @Author 卢曼成
     * @Description 工作内容和操作单元联查集合
     * @Date 2017/2/24 13:41
     */
    List<WorkCellInstanceVo> queryInstanceInfoUnionList(WorkCellInstanceVo workCellInstanceVo);

    /**
     * @Author 卢曼成
     * @Description 工作内容和操作单元联查总体条数
     * @Date 2017/2/24 13:41
     */
    int queryInstanceInfoUnionCount(WorkCellInstanceVo workCellInstanceVo);

    /**
     * 根据ID查询一站一案和操作单元
     *
     * @param workInstanceId
     * @return
     * @throws Exception
     */
    WorkCellInstanceVo queryInstanceInfoUnionById(String workInstanceId);


    /**
     * 查询操作单元信息
     *
     * @param workCellInstanceVo
     * @return
     * @author zjh
     */
    List<WorkCellInstanceVo> queryCellInfoList(WorkCellInstanceVo workCellInstanceVo);


    /**
     * 查询操作单元信息总条数
     *
     * @param workCellInstanceVo
     * @return
     */
    int queryCellInfoCount(WorkCellInstanceVo workCellInstanceVo);


    /**
     * 查询一站一案总
     *
     * @param workCellInstanceVo
     * @return
     * @author zjh
     */
    List<WorkCellInstanceVo> queryCellInstanceList(WorkCellInstanceVo workCellInstanceVo);


    /**
     * 查询一站一案总条数
     *
     * @param workCellInstanceVo
     * @return
     */
    int queryCellInstanceCount(WorkCellInstanceVo workCellInstanceVo);


    /**
     * 设备类型的查询
     * @param workCellInstanceVo
     * @return
     */
    List<WorkCellInstanceVo> queryInstanceListByEntityIds(WorkCellInstanceVo workCellInstanceVo);


    /**
     * 设备类型的查询
     * @param workCellInstanceVo
     * @return
     */
    int queryInstanceCountByEntityIds(WorkCellInstanceVo workCellInstanceVo);


    /**
     * 查询设备对应的一站一案
     * @param workCellInstanceVo
     * @return
     */
    List<WorkCellInstanceVo> queryInstanceByEntity(WorkCellInstanceVo workCellInstanceVo);

    /**
     * 查询设备对应的一站一案的总数
     * @param workCellInstanceVo
     * @return
     */
    int queryInstanceByEntityCount(WorkCellInstanceVo workCellInstanceVo);

    /**
     * 根据名称查询巡回检查
     * @param name
     * @return
     */
    List<WorkCellInstanceVo> queryByName(String name);
}